package com.woniuxy.mesboot.mapper;

import com.woniuxy.mesboot.dto.MenuDTO;
import com.woniuxy.mesboot.dto.RoleDTO;
import com.woniuxy.mesboot.entity.SysRole;
import com.woniuxy.mesboot.vo.TreeNodeVO;

import java.util.List;

/**
* @author 21925
* @description 针对表【sys_role】的数据库操作Mapper
* @createDate 2023-05-22 19:27:13
* @Entity com.woniuxy.mesboot.entity.SysRole
*/
public interface SysRoleMapper {
    /**
     * @Description 插入当前角色新权限
     * @Return
     * @Author liSir
     * @Date Create by 2023/5/24 19:37
     */
    int insertRoleMenu(MenuDTO menuDTO);
    /**
     * @Description 删除当前角色拥有的权限
     * @Return
     * @Author liSir
     * @Date Create by 2023/5/24 19:37
     */
    int deleteByRole(Integer roleId);
    /**
     * @Description 根据菜单的父id，得到对应的菜单
     * @Return
     * @Author liSir
     * @Date Create by 2023/5/24 19:37
     */
    List<TreeNodeVO> selectAllMenu(Integer parentId);
    /**
     * @Description 取得当前角色对应的权限
     * @Return
     * @Author liSir
     * @Date Create by 2023/5/24 19:38
     */
    int[] selectMenuByRole(Integer roleId);
    /**
     * @Description 删除原有角色
     * @Return
     * @Author liSir
     * @Date Create by 2023/5/24 19:31
     */
    int deleteRoleByUserId(Long id);
    /**
     * @Description 插入新角色
     * @Return
     * @Author liSir
     * @Date Create by 2023/5/24 19:31
     */
    int insertRoleByUserId(RoleDTO roleDTO);
    /**
     * @Description 得到用户的角色
     * @Return
     * @Author liSir
     * @Date Create by 2023/5/24 19:32
     */
    int[] selectRoleByUserId(Long id);
    /**
     * @Description 得到所有角色
     * @Return
     * @Author liSir
     * @Date Create by 2023/5/24 19:32
     */
    List selectAll();

    int deleteByPrimaryKey(Long id);

    int insert(SysRole record);

    int insertSelective(SysRole record);

    SysRole selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SysRole record);

    int updateByPrimaryKey(SysRole record);

}
